#include <stdio.h>
/*
输出(100,1000)范围内所有的水仙花数
水仙花数:   个位 *个位 * 个位 + 十位 * 十位 * 十位 + 百位 * 百位 * 百位 = 自身
例如：153 = 1 * 1 * 1 + 5 * 5 *5 + 3 * 3 * 3 
​               = 1 + 125 + 27 
              = 153
*/
int main(int argc , const char *argv[]) 
{
    printf("在范围 100 到 1000 内的水仙花数有：\n ");

    for (int Num = 100; Num <= 1000; Num++)
     {
        int Num1 = Num; //将Num赋给Num1,Num1用于以下循环
        int ret = 0;//将结果置为零，重新开始while循环

        while (Num1 != 0) 
        {
            //循环对个十百位取余
            int s = Num1 % 10;
            ret += s * s * s;
            Num1 /= 10;
        }

        if (ret == Num) 
        {
            printf("%d ", Num);
        }
    }

    printf("\n");

    return 0;
}
